#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
#ifndef VEBI_H
#define VEBI_H


#define NUM_YB 20
#define MIN_MTCH 2
#define RDIU 10
#define GLV 10
#define MJ 5
class Vebi
{
public:
    Vebi();
    ~Vebi();

    void executeFirstFrame(const Mat _image);
    void executeFirstFrameEx(const Mat _image);
    void checkandUpdate(const Mat _image);
    Mat getMask(void){morphologyEx(m_mask,m_mask,MORPH_OPEN,Mat());return m_mask;}
    unsigned char ***getYangBen(void){return samples;}
    void displayYangBen(void);

private:
    void init(const Mat _image);
    void initEx(const Mat _image);
    Mat m_mask;
    int rows;
    int cols;
    unsigned char ***samples;
    Mat sam[NUM_YB];
};

#endif // VEBI_H
